Unstructured Supplementary Service Data (USSD) is defined in GSM 02.90 (UMTS 22.090) and GSM 03.90 (UMTS 23.090). It is a technology built into Global System for Mobile Communications (GSM) standards for supporting the transmission of information over GSM networks, and can also be used with Universal Mobile Telecommunications Systems (UMTS) technologies. USSD allows text-based user interaction between applications based on a GSM/UMTS Public Land Mobile Network (PLMN) and User Equipment (UE). USSD is used as a “trigger” to invoke services or applications.
A USSD message may be initiated by either the network, the UE (the term UE is herein used as a generic name that incorporates Mobile Stations, MS, and other terminal types) or a subscriber using the UE. In network initiated USSD messages, the network may either request information from the UE, or text strings may be simply sent and displayed to the UE. Referring to FIG. 1, there is illustrated schematically an example of a known routing of a USSD message, as described in 3GPP TS 23.078 and U.S. Pat. No. 5,752,188.
USSD messages contain a Service Code (SC) that identifies the action to be taken on receipt of the USSD message. For UE initiated USSD messages the SC is generated by the UE or the subscriber and includes digits, letters, and/or signs. Any SC that is not recognised by the UE is interpreted as USSD by the UE. SCs that are recognized are mapped to Supplementary Service Operations (SS-Operations) defined in GSM/UMTS, for example Registration/Deregistration/Activation/De-activation, and Interrogation of supplementary service such as Call Forwarding or Call Barring.
Unrecognized SCs are transmitted in USSD messages from the UE to a Mobile Switching Centre (MSC)/Visitor Location Register (VLR) on the network. The MSC/VLR comprises a USSD handler, which analyses the SC. If the USSD handler recognizes the SC, then the action that the SC triggers is performed. That is to say, if an application that corresponds to the SC resides in the MSC/VLR, the USSD handler delivers the USSD to this application.
If the USSD handler at the MSC/VLR does not recognize the SC, the USSD message is forwarded to the subscriber's Home Location register (HLR). The HLR also comprises a USSD handler, which analyses the SC to determine if there is an HLR internal application that corresponds to the SC. The USSD is delivered to this application if there is a match.
If the USSD handler at the HLR does not recognize the SC, the HLR checks the USSD General CAMEL Service Information (UG-CSI) to see if there is an HLR external application that corresponds to the SC. The address to the external node is found in the UG-CSI. The address to the external node may be unique for each subscriber, unique for a group of subscribers, or may be the same for all subscribers using that HLR. The external nodes hosting USSD applications may be, for example, a GSM Service Control Function (gsmSCF), an information service (for example today's news or weather), or a translator between the USSD format over SS7 and a protocol carried over IP (for example a Web Service/SOAP based protocol).
U.S. Pat. No. 6,330,445 describes an optimized routing of USSD, as illustrated in FIG. 2, which allows an MSC/VLR that receives a USSD message to directly route the message to PLMN external nodes.
IMS Centralised Services (ICS) is described in 3GPP Release 8, and enables IMS services to be offered accessed using different types of access network, including Circuit Switched (CS) networks. A Service Engine resides in the IMS network and the CS network is used only to access IMS services. One way to provide access to IMS services from a CS network is to use a Terminal Adapter (TA) that emulates an IMS terminal. The TA communicates with the accessing terminal on one side and the IMS Service Engine on the other side. The TA effectively acts as a gateway between a protocol carried over USSD and the SIP/XCAP signaling used in IMS. So, for example, a TA may “translate” USSD messages into a SIP INVITE message to initiate a session with a peer UE. It is possible for an ICS subscriber to roam into any CS PLMN, which may or may not be ICS capable. It is therefore desirable to allow allocation of a TA to a subscriber both in legacy networks that do not have ICS functionality and in ICS capable networks.